In a personal computer the keyboard associated with the computer is scanned periodically to ensure that the activation of the keys initiate some action. Typically, a microcontroller that is within the computer will, under program control, scan the keyboard matrix on a periodic basis to ensure that the computer acts properly when a key is struck.
The scanning function requires a significant amount of the microcontroller's processing bandwidth that could be used for other tasks. In addition, utilizing the microcontroller to perform this function will require that a certain amount of power be consumed by the personal computer. In certain instances this power consumption may significantly decrease the operating time of battery operated portable computers.
As personal computers become more and more compact, and particularly with the advent of portable computers, such as the laptop or notebook type computers, it is important to provide schemes that reduce the power consumed by the personal computer. In addition, as computers become smaller, it is more and more important that all the precious processing bandwidth of the microcontroller be utilized efficiently.
In the laptop or notebook computer environment, the same microcontroller which does the keyboard scanning might also perform other functions. If this microcontroller performs the scanning strictly under program control, without the benefit of a hardware keyboard scanner, there can be a significant performance penalty.
Another problem encountered in previously known keyboard scanning systems is what is known as "ghost" key closures of the keyboard. What is meant by ghost key closures is when several key switches on the keyboard are activated, there is another "closed circuit" on the matrix even though the associated key switch is not depressed. This problem is typically solved by providing additional circuitry within the keyboard. However, in the portable computer environment this additional circuitry can be expensive and can also unfavorably contribute power consumption.
What is needed to use with a personal computer is a system which will scan the keyboard and minimize the use of the microcontroller that is in a personal computer. What is further needed is a keyboard scanning technique that will minimize the power consumption in a personal computer. This system should not only satisfy the above requirements but should be simple and easy to use with a personal computer, a portable computer such as a laptop or notebook type.